package com.tedu.api.socket.thread;

/**
 * 创建线程---第三种方案：匿名内部类【推荐：创建1次】
 * Lambda表达式--JDK1.8推出新版本：简化匿名内部类写法
 * Lambda表达式也叫函数式表遍历！功能：简化匿名内部类
 *                                简化集合遍历功能
 *                                简化功能方法
 *                                简化IO流功能
 *Lambda表达式语法：()-->{},属于功能性接口！
 * ()代表
 * -->代表
 * {}代表
 * 需求：创建接口 Insert 插排 提供：电
 *      子实现类 Computer 电脑
 * 子类实现接口--完成对象创建【创建1次】
 * 匿名内部类方式完成对象创建
 * Lambda表达式结构完成对象创建
 */
public class LambdaAPI {
    public static void main(String[] args) {
        //创建插排接口--必须使用子实现类
     //   Insert cp=new Computer();
       // cp.Dian();
        //子实现类--创造1次对象---匿名内部类:支持接口以及抽象类创造
    /*  Insert cp=new Insert() {
            public String Dian(long money,char ch) {
                return "电脑通电了~~";
            }
        };
        cp.Dian(100,'2');*/
        //使用Lambda表达式
      Insert cp=(money,ch)->
      { return"通电了~";
      };
        cp.Dian(100,'2');
        /**Lambda表达式---匿名内部类【简化1个子类】【接口创建】
         * () 代表 方法中参数，情况①：无参数，不可以删除
         *                      ②：有参数，有一个参数，括号删除
         *->代表new对象的过程
         * {} 代表 方法中内容，情况
         *   ①：看方法返回值void 空 传入输出语句，删除花括号
         *   ②：看方法返回值 Java数据类型 return Java数据类型；
         *                【两种：八大基本数据类型 引用类型】
         *                返回值 存在return 不可以删除花括号【推荐】
         *             2.1返回值 不存在return 可以删除花括号【不推荐】
         *   ③：看方法返回值 返回值集合 不可以删除花括号
         */
    }
}
//创建插排--接口
interface  Insert{
    public String Dian(long money,char ch);
}
//创建插排实现类--电脑类
/*class Computer implements Insert{
    public void Dian() {
        System.out.println("开机喽~~");
    }
}*/
